Fulfillment center and retail store fulfillment of retail orders

ABSTRACT

Systems, computer programs, and methods for coordinating automated components and employee activities to facilitate fulfillment of orders for items and/or services sold by retailers and made available for delivery or pick-up at a retail location are provided. In some embodiments, the methods comprise: receiving an order; selecting a preferred source location for each retail item in the order; preparing a first portion of the order at a fulfillment center; preparing a second portion of the order at a first store; preparing a third portion of the order at a second store; combining the first and second order portions and loading the combined order portions onto a transportation vehicle for transfer to the second store; and assembling the order including the first, second, and third order portions at the second store.

CROSS-REFERENCE TO RELATED APPLICATION

The application is a Continuation of U.S. application Ser. No.17/848,242 filed Jun. 23, 2022, which is a Continuation of U.S.application Ser. No. 16/407,472 filed May 9, 2019, now U.S. Pat. No.11,393,014, issued Jul. 19, 2022, the contents of which are herebyincorporated by reference herein in its entirety.

BACKGROUND

The present disclosure generally relates to systems, computer programs,and methods for coordinating automated components and employeeactivities to facilitate fulfillment of orders for items and/or servicessold by retailers. These items are either delivered directly tocustomers or provided to customers for pick-up at a retail location.

In many situations, retailers of goods and services both own and/oroperate one or more “brick-and-mortar” retail stores and/or physicalfacilities where customers may browse, purchase, and/or pick up items atthe site, and also provide an online website or other service forreceiving orders from customers remotely. In the methods and systems ofthe present disclosure, such retailers may allow customers to placeorders for goods or services via a website or other service forreceiving orders. In some instances, the retailer may fulfill thoseorders to the customer by shipping or delivering the purchased items tothe customer's home (or other location designated by the customer). Inother instances, the retailer may fulfill the orders by making the setof items purchased by the customer available at a pick-up facility(e.g., a retail store or other “brick-and-mortar” facility) that may beoperated or used by the retailer.

Today's consumers demand convenience, speed, selection, and high qualityfrom their retailers regardless of whether such consumers are shoppingonline or are shopping in a brick-and-mortar establishment. Thus, inorder to maximize customer satisfaction, a retailer must meet aconsumer's expectations on these attributes when fulfilling items to acustomer via delivery or customer pick-up. Delayed or unreliableprovision of items may cause customers to be dissatisfied with thosesystems or the retailer more generally, which ultimately may result inthe loss of sales by that retailer. Additionally, where freshness orperishability of the purchased items is important, such as in thecontext of grocery retailers, ensuring a customer promptly receivesitems in their freshest form can be difficult.

To meet customers' demand for speed and convenience, existing systemsand methods for delivery or pick-up order fulfillment often provide a“curated” list of store items available for purchase. This “curated”list of items limits the items available for purchase to a commonlyavailable subset of items (e.g., the items available in a warehouse orfulfillment center) which may include fewer item types than are carriedin a brick and mortar store. Unfortunately, this “curated” list mayundesirably limit the selection of items available for online purchaseby a customer.

SUMMARY

The present disclosure generally relates to systems, computer programs,and methods for coordinating automated components and employeeactivities to facilitate fulfillment of orders for items and/or servicessold by retailers and made available for delivery or pick-up at a retaillocation.

In some embodiments, the present disclosure provides methods thatcomprise: receiving, using a central order management system, an orderof a plurality of retail items for pick-up or delivery; selecting foreach retail item in the order, using the central order managementsystem, a preferred source location from which to source the retailitem, the preferred source location being selected from the groupconsisting of: a fulfillment center, a first retail store locatedadjacent the fulfillment center, and a second retail store locatedremote from both the fulfillment center and the first retail store;preparing a first portion of the order at the fulfillment center, thefirst portion of the order including the retail items for which thefulfillment center is selected as the preferred source location;preparing a second portion of the order at the first retail store, thesecond portion of the order including the retail items for which thefirst retail store is selected as the preferred source location;preparing a third portion of the order at the second retail store, thethird portion of the order including the retail items for which thesecond retail store is selected as the preferred source location;combining the first and second portions of the order and loading thecombined first and second portions of the order onto a transportationvehicle; transporting the combined first and second portions of theorder to the second retail store via the transportation vehicle; andassembling the order comprising the first portion, the second portion,and the third portion at the second retail store.

In some embodiments, the present disclosure provides methods methodpermitting fulfillment of one or more orders without limiting retailitems selected in the orders to a common subset of retail items that areavailable from both a first retail store and a second retail store.These methods comprise: receiving, using a central order managementsystem, a first order of a plurality of retail items for pick-up ordelivery; selecting, for each retail item in the first order, using thecentral order management system, a preferred source location from whichto source the retail item, the preferred source location being selectedfrom the group consisting of: a fulfillment center, a first retail storelocated adjacent the fulfillment center, and a second retail storelocated remote from both the fulfillment center and the first retailstore; generating, using one or more order processing servers, one ormore tasks associated with preparing a first portion of the first orderincluding the retail items for which the fulfillment center is selectedas the preferred source location; generating, using the one or moreorder processing servers, one or more tasks associated with preparing asecond portion of the first order including the retail items for whichthe first retail store is selected as the preferred source location;generating, using the one or more order processing servers, one or moretasks associated with preparing a third portion of the first orderincluding the retail items for which the second retail store is selectedas the preferred source location; generating, using the one or moreorder processing servers, one or more tasks associated with combiningthe first and second portions of the first order and loading thecombined first and second portions of the first order onto atransportation vehicle for transfer to the second retail store;generating, using the one or more order processing servers, one or moretasks associated with assembling the first order comprising the firstportion, the second portion, and the third portion at the second retailstore; and performing one or more of the tasks generated using the oneor more order processing servers.

In some embodiments, the present disclosure provides systems thatcomprise: a fulfillment center; a first retail store located adjacentthe fulfillment center; a second retail store located remote from boththe fulfillment center and the first retail store; and one or moreservers comprising a processor and a memory device coupled to theprocessor, the memory device comprising instructions executable by theprocessor that, when executed, cause the processor to: receive an orderof a plurality of retail items for pick-up or delivery; select, for eachretail item in the order, a preferred source location from which tosource the retail item, the preferred source location being selectedfrom the group consisting of: the fulfillment center, the first retailstore, and the second retail store; generate one or more tasksassociated with preparing, at the fulfillment center, a first portion ofthe order including the retail items for which the fulfillment center isselected as the preferred source location; generate one or more tasksassociated with preparing, at the first retail store, a second portionof the order including the retail items for which the first retail storeis selected as the preferred source location; generate one or more tasksassociated with preparing, at the second retail store, a third portionof the order including the retail items for which the second retailstore is selected as the preferred source location; generate one or moretasks associated with combining the first and second portions of theorder and loading the combined first and second portions of the orderonto a transportation vehicle for transfer to the second retail store;and generate one or more tasks associated with assembling the ordercomprising the first portion, the second portion, and the third portionat the second retail store.

The features and advantages of the present disclosure will be apparentto those skilled in the art. While numerous changes may be made by thoseskilled in the art, such changes are within the spirit of the inventionand disclosure.

BRIEF DESCRIPTION OF THE FIGURES

Some specific example embodiments of the disclosure may be understood byreferring, in part, to the following description and the accompanyingfigures.

FIG. 1 is a diagram depicting an overview of an order fulfillment systemfor delivery and/or customer pick-up of items according to certainembodiments of the present disclosure.

FIG. 2 is a process flow diagram of a method for preparing a customer'sorder for delivery or customer pick-up according to certain embodimentsof the present disclosure.

FIG. 3 is a process flow diagram of a method for determining a preferredsource location to which to assign an item for fulfillment according tocertain embodiments of the present disclosure.

FIG. 4 is a process flow diagram of a method for facilitating thesubstitution of unavailable items according to certain embodiments ofthe present disclosure.

FIG. 5 is a schematic diagram of an example fulfillment center accordingto certain embodiments of the present disclosure.

FIG. 6 is a process flow diagram of a method for determining a preferredsource location to which to assign an item for fulfillment according tocertain embodiments of the present disclosure.

While the present disclosure is susceptible to various modifications andalternative forms, specific example embodiments have been shown in thefigures and are herein described in more detail. It should beunderstood, however, that the description of specific exampleembodiments is not intended to limit the invention to the particularforms disclosed, but on the contrary, this disclosure is to cover allmodifications and equivalents as illustrated, in part, by the appendedclaims.

DESCRIPTION OF EMBODIMENTS

The present disclosure generally relates to systems, computer programs,and methods for coordinating automated components and employeeactivities to facilitate fulfillment of orders for items and/or servicessold by retailers and made available for delivery or pick-up at a retaillocation.

More particularly, the present disclosure provides systems and methodsfor determining, for each item in a pick-up or delivery order placed bya customer, a source location from which to source the item whilefulfilling the order. The available source locations include at least afulfillment center, a first retail store (e.g., a hub store) adjacent tothe fulfillment center, and a second retail store (e.g., a spoke store)remote from the fulfillment center/hub store. The present disclosureprovides systems and methods for generating one or more tasks associatedwith preparing different portions of the order at each of the threesource locations, combining the order portions prepared at thefulfillment center and the hub store, transporting the combined orderportions from the fulfillment center/hub store to the spoke store, andassembling the complete order at the spoke store. The present disclosurealso provides computer programs stored in a tangible medium comprising aplurality of instructions that when executed cause at least oneprocessor to perform some or all of the methods described herein.

Among the many potential advantages to the methods and systems of thepresent disclosure, only some of which are alluded to herein, themethods and systems of the present disclosure may provide an efficientmeans of managing customer orders without limiting the customer to alimited list of items available for purchase for pick-up or deliveryorders. The disclosed methods and systems may include selecting, foreach retail item in an order, a preferred source location from which tosource the retail item, the preferred source location being selectedfrom a fulfillment center, a first retail store which is locatedadjacent the fulfillment center, and a second retail store which islocated remote from both the fulfillment center and the first retailstore. The disclosed methods and system may then include generating,using one or more processing servers, tasks associated with preparingdifferent portions of a single order at the different source locationsand combining the different portions to form the full order for deliveryor pickup. This assignment of different portions of the order to beprepared at different source locations permits the fulfillment of one ormore orders without limiting the retail items selected in the orders toa common subset of retail items that are available from both the firstand second retail locations. As such, the methods and systems of thepresent disclosure facilitate quick and efficient fulfillment of pick-upand delivery orders that may include items unique to a customer's localstore. In certain embodiments, by not limiting the items availableonline to a common subset of items available at all store locations, themethods and systems of the present disclosure provide a wider selectionof items to the customer for online purchase. This may allow customersto have the experience of shopping at their local store, even whileordering online.

The retailers that may operate or use the methods and systems of thepresent disclosure may include any entity who sells and/or providesgoods or services to customers, including but not limited to groceryretailers. The goods or items provided using the methods and systems ofthe present disclosure may include any suitable goods. In certainembodiments, the goods or items may include food or grocery items,including but not limited to pre-packaged food items, perishable fooditems (e.g., meat, produce, delicatessen items, bakery items, etc.),cold or refrigerated items (e.g., milk, yogurt, etc.), dry or ambientitems (e.g., pasta, spices, etc.), frozen food items (e.g., ice cream,frozen foods, etc.), or bulk items (e.g., toiler paper, paper towels,packages of water bottles, etc.), and the like. These goods or items maybe purchased by the retailer from another source, or may be created,packaged, or prepared (in whole or in part) by the retailer. In someembodiments, the goods or items may be “made to order” and/or customizedper the customer's request and/or specifications.

In the methods and systems of the present disclosure, the goods or itemsmay be stored and/or provided as a part of the inventory of multipleseparate retail store locations. The term “retail store location” maygenerally refer to a location at which the retailer sells goods directlyto customers within the retail store. In each retail store location, thegoods or items may be stored either in a stockroom or in a retail spaceaccessible to customers at the store.

In the methods and systems of the present disclosure, the goods or itemsmay also be stored and/or provided as a part of the inventory of atleast one fulfillment center. The term “fulfillment center” refers to alocation used specifically for the preparation of orders to be deliveredto a destination outside of the fulfillment center. The fulfillmentcenter may not include a retail space accessible to customers and maynot allow customers to purchase items or goods within the center. Itemsfrom the fulfillment center may be transported to a delivery locationfor delivery to a customer, to a pick-up location at a separate retailstore location for customer pick-up, or both. In certain embodiments,the fulfillment center may occupy a space either physically within ordirectly adjacent to one of the retail store locations. In otherembodiments, the fulfillment center may be a standalone center locatedremote from each of the retail store locations.

The fulfillment center may be associated with multiple retail storelocations, meaning that the same fulfillment center is used to prepareorders to be delivered to any one of the multiple associated retailstore locations. In embodiments where the fulfillment center is locatedwithin or proximate one of the associated retail store locations, thisretail store location is referred to herein as a “hub store.” All otherretail store locations associated with, but located remote from, thefulfillment center are referred to herein as “spoke stores.”

In the methods and systems of the present disclosure, the descriptionsof activities of or involving a customer (e.g., pick-up of items,arrival at a pick-up facility, triggering/sending/receivingnotifications) may include those activities that may involve or beperformed by a customer's agent or designee that has been tasked withreceiving a delivery of previously ordered items or picking uppreviously ordered items from a pick-up facility. In certainembodiments, such an agent or designee may be a representative oremployee of a third-party courier, delivery, or shopping companyauthorized by the customer and/or retailer to pick up items ordered bythe customer (either separately or through the third-party company).

FIG. 1 illustrates an example system 100 for implementing an orderfulfillment process according to certain embodiments of the presentdisclosure. This system 100 involves a system configured forclient-server interaction and communication, which refers to adistributed system in which a program at one site sends a request to aprogram at another site and waits for a response. The requesting programis called the “client,” and the program which responds to the request iscalled the “server.” Client-server systems may exist in the Internet(which refers to a collection of interconnected (public and/or private)networks that are linked together by a set of standard protocols (suchas TCP/IP and HTTP) to form a global, distributed network), the WorldWide Web, or other networks either public or private in nature. Whilethis term may refer to what is now commonly known as the Internet, it isalso intended to encompass variations which may be made in the future,including changes and additions to existing standard protocols. In thecontext of the Internet or the World Wide Web, the client is a “Webbrowser” (or simply “browser”) which runs on a computer of a user; theprogram which responds to browser requests by serving Web pages iscommonly referred to as a “Web server.” A web site or retailer serversystem of the present disclosure serves informational content over anetwork, typically using the standard protocols of the World Wide Web.

The system 100 includes a central order management server system(“COMS”) 102 operated by a retailer that is connected to (e.g., througha direct communication link or a communication network 114) a pluralityof order processing servers 104, each of which may be located at,designated for, or associated with a particular facility. For example,as illustrated, each order processing server 104 may be located at,designated for, or associated with either a fulfillment center 106(e.g., an e-fulfillment center or “eFC”), a hub store 108, or a spokestore 110. The eFC 106 is linked to the hub store 108 (e.g., throughintegration into a single building or through the hub store 108 beinggeographically near the eFC 106). Each eFC 106 and hub store 108combination may be associated with one or more spoke stores 110. Forexample, the eFC 106 and hub store 108 may be associated with aplurality of spoke stores 110, each located within a certain proximityto the eFC 106/hub store 108. The distance between the eFC 106/hub store108 and each associated spoke store 110 may be up to approximately 5miles, up to approximately 7 miles, up to approximately 10 miles, ormore.

In certain embodiments, one or more of the order processing servers 104may include virtual servers that are physically located on a singlepiece or group of hardware components at a single physical location(e.g., a retail store or other facility). The central order managementsystem 102 and one or more of the plurality of order processing servers104 may be connected to and/or communicate with one or more customerdevices 112 used by customers through one or more networks 114. AlthoughFIG. 1 illustrates a particular arrangement of customer devices 112,central order management system 102, order processing servers 104, andnetworks 114, this disclosure contemplates any suitable arrangement ofthose devices, servers, and networks. Although FIG. 1 illustrates aparticular number of customer devices 112, central order managementsystems 102, order processing servers 104, and networks 114, thisdisclosure contemplates any suitable number (e.g., one or more) of thosecomponents. As an example and not by way of limitation, the system 100instead may include central order management systems 102 (e.g., serversof multiple different retailers connected to common order processingservers 104 operated by a third party), or a single centralized orderprocessing server that may process information for a plurality ofdifferent facilities. As another example and not by way of limitation,one or more order management systems 102 and one or more orderprocessing servers 104 may be physically or logically co-located witheach other in whole or in part. The system 100 also may comprise anynumber of intermediate servers and/or networks between one or more ofcustomer devices 112, central order management system 102, orderprocessing servers 104, and networks 114. For example, the data providedto customer devices 112 for display to a customer and/or data providedto order processing servers 104 may be processed or passed through oneor more additional servers or computer systems hosted by a third partynetwork or server provider. Such intermediate servers and/or networksmay run additional software or further process data received fromcustomer devices 112 and/or order processing servers 104 beforetransmission of that data elsewhere in the system.

Server systems used in the methods and systems of the present disclosuresuch as central order management system 102 and/or order processingservers 104 generally include at least one processor, non-transitorycomputer readable memory (e.g., random access memory (RAM) or read-onlymemory (ROM)) that may comprise executable instructions for theprocessor, and a communications interface configured to transmit data(e.g., pick-up or delivery time notifications and/or data relatingthereto) to and receive data (e.g., customer arrival notificationsand/or data relating thereto) from other computer systems or devices.The processor may comprise any microprocessor, central processing unit(“CPU”), or other computer processors known in the art, and thecommunications interface may comprise any type of computer interfacedevice known or used in the art with electronics and computer systems,including but not limited to modems, Ethernet/Wi-Fi/LAN/cellularadapters, serial connections, data bus connections, and other similartypes of devices. The processor may include an internal memory deviceand/or be configured to access a separate memory device or drivecomprising executable instructions.

The central order management system also may include multiple redundantservers that operate as minors of each other, which may, among otherpurposes, increase speed of the system and/or help compensate forfailures or other problems in the servers. In particular embodiments,the central order management system 102 and/or the order processingservers 104 may be network-addressable computing systems that can hostone or more retailer's server systems. In particular embodiments,central order management system 102 and/or order processing servers 104may be capable of receiving and/or generating communications in the formof email messages, text messages (e.g., SMS, MMS, or any other knownformat), push notifications, instant messages, voicemails, audiorecordings, video recordings, or any other suitable form of electronicmessages.

A central order management system 102 may generate, store, receive, andtransmit various types of data relating to online orders, including butnot limited to item-related data (e.g., images, pricing, item type,stock keeping units (“SKUs”), universal product codes (“UPCs”),inventory availability, perishability, customization options,size/weight data, promotional information, and/or other attributes),order-related data (e.g., pick-up location, pick-up time, deliverylocation, delivery time, etc.), customer-related data (e.g., names,addresses, phone numbers, e-mail addresses, communication preferences,purchase histories, payment information, preferred retail store, closestretail store, etc.), store-related data (e.g., addresses, storedepartments, inventory, etc.) and the like. For example, as shown inFIG. 1 , central order management system 102 may include an orderdatabase 116 that stores data records for orders for items placed by acustomer, for example, via an online ordering system. Those orders maybe received, for instance, at the central order management system 102and parsed or processed into a form necessary for storage in the orderdatabase 116. This may include creating one or more order records in theform of a data structure that corresponds to a customer's order andincludes customer-related data associated with the customer, the itemswithin the order, and other information associated with the order,including, but not limited to, the spoke store at which the order willbe completed, a pick-up location, a pick-up date, a pick-up time, adelivery address, a delivery time, among others. The data structure mayalso be populated, for instance, with item-related data, such as a UPCand/or SKU, associated with the items in the order that is retrievedfrom other databases associated with the central order management system102. The central order management system 102 may be accessed by and/orcommunicate with the other components of system 100, either directly orvia a network or a third-party system.

The order processing servers 104 may generate, store, receive, andtransmit various types of data relating to online orders (or items insuch orders) to be sourced from the associated store or fulfillmentcenter. Example types of that data are discussed below, and the data mayinclude but is not limited to item-related data, customer-related data,store-related data, pick-up order related data, delivery-related data,and the like.

The order processing servers 104 may generate, store, receive, andtransmit item-related data for online orders. Item-related data mayinclude any type of data relating to one or more items in an onlineorder. Such item-related data may include, for example, itemidentification information such as a UPC or SKU. Item-related data mayinclude item inventory availability within the associated store orfulfillment center, as accessible via an inventory database 128.Item-related data may include the perishability of the item (e.g.,expiration date, date a perishable food item was prepared at the store,date a fresh produce item was received at the store or fulfillmentcenter, etc.). Item-related data may include customization (e.g.,instructions for customizing a food item to be prepared at the storeaccording to a certain recipe, design, color, text, and so forth).Item-related data may include a size or weight of the item, a desiredput-away location (e.g., shelf position) of the item, and/or otherattributes.

The order processing servers 104 may generate, store, receive, andtransmit customer-related data for online orders. Customer-related datamay include any type of data relating to a customer who placed theonline order. Such customer-related data may include, for example,customer identification information such as a name of the customer or aname of another person picking up the customer's order. Customer-relateddata may include contact information, such as an address, a phonenumber, an e-mail address, and communication preferences for how thiscontact information is to be used. Customer-related data may includepurchase histories for orders previously placed with the retailer and/orfor orders previously placed and filled for pick-up at a particularretail store. The purchase histories may include, for each previouslyfilled order, a list of items purchased, a time/date of delivery orpick-up, method of payment, and whether the order was for delivery orpick-up. Customer-related data may include a list of preferred itemsdetermined using the purchase history information. Customer-related datamay include a preferred store determined using the purchase historyinformation. Customer-related data may include payment information, suchas information for one or more credit cards or debit cards that werepreviously used by the customer, and in some instances an indication ofa preferred method of payment. The customer information may be storedwithin a customer profile accessible by the one or more order processingservers 104.

The order processing servers 104 may generate, store, receive, andtransmit store-related data for online orders. Store-related data mayinclude any type of data relating to the associated store or fulfillmentcenter where at least a portion of the order will be filled. Suchstore-related data may include, for example, store identifyinginformation such as a name of the store location or a store address.Store-related data may include contact information for the store, suchas a phone number or e-mail address for the store. Store-related datamay include a list of departments, sections, aisles, and so forthlocated within the associated store or fulfillment center, including,e.g., a produce department, a bakery, a meat processing area, a frozenfood department, a chilled food department, dry goods department, bulkgoods department, seasonal items department, a pharmacy, and so forth.Store-related data may include inventory information, including, but notlimited to, a live inventory of items available within the store orfulfillment center or a list of inventory that is regularly stocked atthe store or fulfillment center. Store-related data may include runnerpersonnel information, including name and contact information forrunners who will be preparing orders at the store or fulfillment center.Store-related data may include a information regarding a pick-uplocation or a process and associated equipment for picking up ordersfrom the store.

The order processing servers 104 may generate, store, receive, andtransmit delivery-related data for online orders designated fordelivery. Delivery-related data may include any type of data relating toa delivery request associated with the order. Such delivery-related datamay include, for example, a delivery address where the delivery will beprovided. Delivery-related data may include contact information for thecustomer who placed the order for delivery. This contact information mayinclude a phone number and/or an email address. Delivery-related datamay include one or more communication preferences designating how thecustomer prefers to be contacted during the delivery.

As shown in FIG. 1 , order processing servers 104 may include orderdatabases 118 that store data records or structures for orders for itemsto be fulfilled from the associated store or fulfillment center. Incertain embodiments, the order databases 118 may be populated by acertain number of order records sent by the central order managementsystem 102 or accessed from the order database 116. Alternatively,orders may be transmitted from the central order management system 102to the processing servers 104, where the servers 104 may process theorder to generate and store order records in the order databases 118.

One or more customers may use one or more customer devices 112 toaccess, send data to, and receive data from order processing servers104. In certain embodiments, one or more computing devices such askiosks 120, handheld devices 122, and computer terminals 124 provided atthe facility and/or operated by personnel at the facility may beconnected to the order processing servers 104 to access, send data to,and receive data from order processing servers 104. In certainembodiments, the personnel-operated computing devices (e.g., a portablecomputing device or handheld computing device) may interact with orotherwise modify the order records in the order databases 118. Thepersonnel-operated computing devices may further receive electroniccommunications from the order processing server 104. A customer device112, kiosk 120, handheld device 122, or computer terminal 124 may accessor communicate with an order processing server 104 directly, via anetwork (e.g., similar to network 114), or via a third-party system.

A customer device 112, kiosk 120, handheld device 122, and/or computerterminal 124 may include any suitable computing device, such as, forexample, a laptop computer, a cellular phone, a smartphone, a personaldigital assistant, an ultra-mobile PC, a computing tablet, a portablemedia player, a pocket computer, or the like. In many embodiments, thecustomer device 112 is a portable device such as a smart phone or tabletthat a customer can easily carry when they enter a pick-up facility orare at a delivery location. In particular embodiments, the customerdevice 112 includes a processor, a non-transitory computer readablememory (e.g., RAM or ROM) that comprises executable instructions for theprocessor, and a communication interface. Kiosks 120 and/or computerterminals 124 also may comprise other forms of computing devices,including desktop computers, thin client terminals, and the like. Incertain embodiments, suitable customer devices 112, kiosks 120, handhelddevices 122, and/or computer terminals 124 may comprise storage, aninput/output (I/O) interface, communication buses, and other components.This disclosure contemplates any suitable device having any suitablenumber of any suitable components in any suitable arrangement. Thecustomer device, kiosk, handheld device, and/or computer terminal mayinclude, incorporate, or interface with various types of input andoutput devices. Suitable output devices may include, but are not limitedto, display monitors, audio speakers, printers, or the like. Suitableinput devices may include, but are not limited to, touch screens,mouses, keyboards, microphones, motion detection systems/sensors,near-field communication devices, scanners (e.g., barcode scanners),cameras, or the like.

Networks 114 may be any suitable communications networks. As an exampleand not by way of limitation, one or more portions of networks 114 mayinclude an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), a portion of the Internet, a portion of the Public SwitchedTelephone Network (PSTN), a cellular telephone network, or a combinationof two or more of these. Network 114 may include one or more networks114.

Various types of connections may connect customer devices 112, thecentral order management system 102, order processing servers 104,networks 114, kiosks 120, handheld devices 122, and/or computerterminals 124 and/or third party carrier servers to each other. Thisdisclosure contemplates any suitable connections. In particularembodiments, one or more connections include one or more wireline (suchas for example Digital Subscriber Line (DSL) or Data Over Cable ServiceInterface Specification (DOCSIS)), wireless (such as for example Wi-Fior Worldwide Interoperability for Microwave Access (WiMAX)) or optical(such as for example Synchronous Optical Network (SONET) or SynchronousDigital Hierarchy (SDH)) connections. In particular embodiments, one ormore connections each include an ad hoc network, an intranet, anextranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of theInternet, a portion of the PSTN, a cellular telephone network, anotherconnection, or a combination of two or more such connections. Theconnections need not necessarily be the same throughout system 100. Oneor more first connections may differ in one or more respects from one ormore second connections.

According to aspects of the present disclosure, an online order from acustomer (for pick-up or delivery) may trigger a fulfillment processthat controls the manner in which the order is sourced, filled, andprovided to the customer. The fulfillment process may be guided orotherwise controlled by one or more of the server systems 102 and 104,which may generate one or more tasks associated with the order andcommunicate some or all of those tasks to employees viapersonnel-operated computing devices, e.g., kiosks 120, handheld devices122, and computer terminals 124. In some instances, the server systems102 and 104 may generate one or more tasks associated with the order andoutput one or more control signals to automation equipment located atone or more of the source locations to perform certain tasks. Forexample, as illustrated in FIG. 5 , the fulfillment center 500 may beequipped with one or more pieces of automation equipment 510 that may beoperated via control signals to retrieve items within the fulfillmentcenter 500 for preparation of one or more orders.

The above described tasks may be generated, for instance, using one ormore processing algorithms implemented as software in one or more of theserver systems 102 and 104, and may be represented as a separate datastructure or as data structures associated with a particular order. Incertain embodiments, the order processing servers 104 may generate thetasks based, at least in part, on an order record received from thecentral order management system 102, communicate the tasks to employeesvia network-connected personnel-operated computing devices, receive taskcompletion confirmations from employees via the network-connectedpersonnel-operated computing devices, and monitor the progress of thefulfillment process in one or more data structures, which may includethe order record stored in the order databases 118 associated with theservers 104. In certain embodiments, at least some of the tasks may betriggered by customer communications received at one or more of theserver systems 102 and 104.

A more detailed description of various aspects of the fulfillmentprocess in accordance with presently disclosed embodiments will now beprovided. The central order management system 102, alone or incooperation with the order processing servers 104, may coordinate thesourcing of individual items within an incoming order from one or moreavailable locations including, but not limited to, the fulfillmentcenter 106, the hub store 108, and the spoke stores 110. Specifically,the central order management system 102, alone or in cooperation withthe order processing servers 104, may determine for each item within anincoming order a desired location from which the item is to be sourced.For each order, the desired source location for a given item is selectedfrom at least one of the fulfillment center 106, the hub store 108, andone of the spoke stores 110. For each order placed by a customer forpick-up or delivery, the central order management system 102 may outputone or more separate order records to the order processing servers 104associated with the fulfillment center 106, the hub store 108, and/or aselected spoke store 110.

As mentioned above, the fulfillment center 106 is generally in closeproximity to and/or associated with the hub store 108. The fulfillmentcenter 106 and hub store 108 together may be associated with and mayserve a number of spoke stores 110. Although only three spoke stores 110are illustrated in FIG. 1 , it will be understood that each fulfillmentcenter 106/hub store 108 combination may service any desired number ofspoke stores 110. For example, the fulfillment center 106/hub store 108may service 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, or more spoke stores110. In certain embodiments, the number of spoke stores 110 associatedwith and serviced by a given fulfillment center 106/hub store 108 may bedetermined based, at least in part, on throughput (e.g., in units/week,or dollars/week) of online orders being placed for pick-up or deliveryfrom the stores within a given region. In the event that certain storelocations within a region begin to experience larger throughput thanbefore, then the associated fulfillment center 106/hub store 108 maybecome overwhelmed to the point of being able to only service a smallernumber of spoke stores 110 in the region. At this point, a secondfulfillment center 106/hub store 108 could then be used to service afirst group of the available spoke stores 110, while the alreadyexisting fulfillment center 106/hub store 108 continues to service asecond group of the spoke stores 110. The spoke stores 110 beingserviced by a given fulfillment center 106/hub store 108 may be locatedin relatively close proximity (e.g., within a few miles) to thefulfillment center 106/hub store 108.

Upon receiving a new order at the central order management system 102,the central order management system 102 may assign a single spoke store110 (from the multiple available spoke stores 110) to the order. Thecentral order management system 102 may assign a spoke store 110 to eachorder based, at least in part, on the item-related data, order-relateddata, customer-related data, and/or store-related data. For example,when an order is designated for pick-up at a particular retail store,that store will be the spoke store 110 assigned for order fulfillment.In certain embodiments, an order is designated for pick-up at aparticular retail store by a consumer selecting the particular retailstore when placing a pick-up order. In other embodiments, the order isdesignated for pick-up at a particular retail store based, at least inpart, on customer-related data (e.g., a customer's preferred store orthe closest store to a customer's home address). When an order isdesignated for delivery to a location remote from the retail stores, thecentral order management system 102 may assign the spoke store 110 thatis closest geographically to the delivery address. In other embodiments,when an incoming order for delivery contains one or more items that areonly available at one of the spoke stores 110, the central ordermanagement system 102 assigns the spoke store 110 in which these itemsare available.

In order to determine the source location for various items within agiven order, the central order management system 102 may access one ormore inventory databases 128 for one or more of the available sourcelocations (i.e., fulfillment center 106, hub store 108, and/or spokestores 110). The central order management system 102 may accessinventory databases 128 for the different locations via communicationwith the corresponding order processing servers 104, or directly througha network. Each inventory database 128 may include a list of availableitems at the specific source location, a list of types or attributes ofitems carried at the source location, a list of store departments at thesource location, a stocking location for each of the items, and thelike.

The inventory available at each individual source location (i.e.,fulfillment center 106, hub store 108, and spoke stores 110) may bedifferent from the inventory available at any other source locationaccessible by the central order management system 102. For example, thefulfillment center 106 and the different stores 108 and 110 may eachhave overlapping but different inventories available at any given time.In some embodiments, the list of items, item types, or other attributesof items that are sold at the hub store 108 and the spoke stores 110 maybe unique to each store. For example, although the stores 108 and 110may generally have an amount of overlap in their inventories, each store108 and 110 may also sell a large number of items (e.g., approximately2,000 to 3,000 SKUs) that are unique to the store location. Items thatare unique to a particular store location are referred to herein as“long tail items.” Regardless of a current stocking level at a givenstore, the long tails items for that store are not available from thefulfillment center. In some embodiments, the long tail items are notavailable for other retail stores. As such, each source location'sinventory represents a subset of a total amount of inventory availableto a customer placing an order for pick-up or delivery via the centralorder management system 102.

The central order management system 102 may access the inventorydatabases 128 associated with each of the different source locations(i.e., fulfillment center 106, hub store 108, and spoke stores 110) todetermine a full list of items available from all locations. In someembodiments, the central order management system 102 may present thefull list of items available at all locations to a customer forselection during placement of the order by the customer. In otherembodiments, the central order management system 102 may only present alist of items available at the fulfillment center 106, the hub store108, and a selected (or assigned) spoke store 110 to a customer forselection during placement of the order. That way, all items availableto the customer may be entirely sourced from a total of three or fewersource locations (fulfillment center 106, hub store 108, and selectedspoke store 110), while still allowing the customer to access all longtail items within the selected spoke store 110. For a customer selectingitems for delivery nearby or pick-up at their local or designated store(the selected spoke store 110), the full inventory for that store(including long tail items) is made available to the customer on thecustomer device 112.

The central order management system 102 may access the inventorydatabases 128 associated with different source locations (i.e.,fulfillment center 106, hub store 108, and spoke stores 110) todetermine the locations from which to source each item that is orderedfrom the total available list of items. In some embodiments, theinventory database 128 for one or more of the available source locations(fulfillment center 106, hub store 108, and individual spoke stores 110)may be a database of live inventory for that location. A live inventorydatabase may be continually updated as items are removed from thelocation. In some embodiments, maintaining an accurate live database 128may only be possible for the fulfillment center 106 (and not the hubstore 108 or spoke stores 110) since the fulfillment center 106 includesa smaller subset of items stored therein and has fewer ways for theitems to be removed therefrom than in a full service retail store.

For each order placed by a customer for pick-up or delivery, the centralorder management system 102 may output one or more separate orderrecords to the order processing servers 104 associated with thefulfillment center 106, the hub store 108, and/or a selected spoke store110.

Once the central order management system 102 has determined preferredsource locations for each of the items in an order, the central ordermanagement system 102 may then output separate order records to theorder processing servers 104 for the fulfillment center 106, the hubstore 108, and/or the selected spoke store 110. These order recordsinclude lists of items to be sourced from the different locations. Uponreceiving the order records, each order processing server 104 maygenerate or communicate one or more tasks to employees at the location(and/or output control signals to automation equipment at the location)for fulfillment of the subset of order items being sourced from thatlocation. In response to the one or more tasks (and/or automationcontrol signals), the different subsets of items may be gathered atseparate source locations, transported to a final source location (e.g.,the selected spoke store 110), and combined into the full order at thisfinal source location. Transportation vehicles 130 may transport theorder subsets between the fulfillment center 106, hub store 108, andmultiple spoke stores 110 according to a loading/delivery schedule. Theloading/delivery schedule may be generated via the central ordermanagement system 102 and/or the individual order processing servers.Once at the final source location, the subsets of an order are combinedinto the complete order and either moved to a staging or pick-uplocation (e.g., curbside 132 at the spoke store 110) or delivered to aremote location via a transportation vehicle 130.

FIG. 2 is a flowchart illustrating an example fulfillment process 200 ofthe present disclosure that may be used to facilitate the preparationand pick-up/delivery of items in an order placed with the retailer. Atstep 202, the process 200 may be triggered when an order from a customeris received. The order may be placed by a customer, for instance,through an online ordering system or by phone, or during a prior visitto a retail store or other facility operated by the retailer.

In embodiments where the order is a pick-up order, the particularfacility where the customer will pick up their order and/or a scheduleddate/time window when the order can be made available for pick-up (e.g.,an earliest date/time when the order will be available) is selectedand/or assigned at the time that the order was placed or at any otherpoint in time prior to pick-up. The pick-up facility and/or thescheduled date/time for pick-up may be selected and/or assigned by thecustomer, the retailer, or a third party involved in the processing ofthe order.

In embodiments where the order is a delivery order, the delivery addresswhere the customer will receive their order and/or a scheduled date/timewindow when the order can be delivered (e.g., an earliest date/time whenthe order will be available for delivery) is selected and/or assigned atthe time that the order was placed or at any other point in time priorto delivery. The scheduled date/time for delivery may be selected and/orassigned by the customer, the retailer, or a third party involved in theprocessing of the order.

In certain embodiments, the order may be received at one or more serversystems associated with the order fulfillment process. This includes,for instance, the central order management system 102 described abovewith reference to FIG. 1 . Receiving the order may include receiving adata structure associated with the order and storing the data structurewithin one or more databases. For instance, when an order is madethrough an online ordering system, the order may be packaged in a datastructure that can be stored directly into an order database.Additionally, when an order is received by phone, an employee of theretailer may input the order into a system that generates or stores datawithin the associated data structure for the order. Alternatively,receiving the order may include processing and parsing the order togenerate a data structure associated with the order that is of the formaccepted by an order database.

At block 204, in the embodiment shown, the order may be assigned to oneretail store (out of multiple available retail stores within a region)at which the order will be fully assembled for pick-up or delivery. Theretail store may be assigned automatically, for instance, by a centralorder management system associated with the fulfillment process. Thecentral order management system may assign the order to a particularretail store based, at least in part, on information included in theorder such as, for example, a desired pick-up location, proximity of adelivery address, or items included in the order that are unique to theparticular retail store In certain embodiments, the order is designatedfor pick-up at a particular retail store based, at least in part, oncustomer-related data (e.g., a customer's preferred store or the closeststore to a customer's home address). The retail store to which the orderis assigned may be one of multiple spoke stores (110 of FIG. 1 )associated with a fulfillment center/hub store.

At block 206, in the embodiment shown, the order is divided intomultiple order portions, each order portion to be sourced from adifferent source location. Different available source locations mayinclude, for example, a fulfillment center (106 of FIG. 1 ), a hub store(108 of FIG. 1 ), and a spoke store (110 of FIG. 1 ). Each order portionmay include a subset of one or more items from the order placed by thecustomer. The order may be divided into multiple order portionsautomatically, for instance, by a central order management systemassociated with the fulfillment process. The order may be divided intomultiple order portions instantaneously or nearly instantaneously uponreceipt of the order at the central order management system. In otherinstances, the order may be divided into multiple order portions at aset period of time before a scheduled pick-up/delivery time. Forinstance, the order may be divided into order portions automaticallywhen the associated source locations open on the day during which thepick-up or delivery is scheduled to occur. To divide the order intomultiple order portions at block 206, the central order managementsystem (102 of FIG. 1 ) may access one or more inventory databases (128of FIG. 1 ) associated with the different available source locations todetermine which source location to use for sourcing the different itemsof the order.

In embodiments where the retail store assigned at block 204 is a spokestore (110 of FIG. 1 ), it may be desirable to source a majority of theorder from the fulfillment center (106 of FIG. 1 ), fewer items of theorder from the hub store (108 of FIG. 1 ), and the fewest number ofitems (if any remaining) from the spoke store. The central ordermanagement system may assign each item within the order to a preferredsource location according to a specific set of rules.

An example process 300 for assigning a preferred source location to anorder item in accordance with the present disclosure is illustrated inFIG. 3 . The central order management system may perform this processfor each item within an order received from a customer. At block 302,the central order management system may query an inventory database ofthe fulfillment center, which may be a live database, to determinewhether the item (or a set of multiple units of the same item) iscurrently available at the fulfillment center. If the item (or set ofmultiple units of the item) is available, the process ends at block 304where the central order management system assigns the item to thefulfillment center for fulfillment. In embodiments where the orderincludes multiple units of the same item type, the central ordermanagement system may determine at block 302 whether the entire set ofmultiple units of the item is available from the fulfillment center. Ifa total number of the requested units of the item (e.g., boxes ofmacaroni and cheese) is not available from the fulfillment center, theentire line item of the multiple units of the item may instead byassigned to the hub store or spoke store for fulfillment. As such, noneof these items may be sourced from the fulfillment center.

If the item (or set of multiple units of the same item) is unavailablefrom the fulfillment center, the process continues to block 306 wherethe central order management system determines whether the item isunsafe or undesirable to transport between source locations, such as ifthe item is a hot food item (e.g., rotisserie chicken). If the item isunsafe or undesirable to transport between source locations, the processends at block 308 where the central management system assigns the itemto the spoke store for fulfillment. If the item is safe to transportbetween source locations, the process continues to block 310 where thecentral order management system queries an inventory database of the hubstore to determine whether the item is stocked in the hub store. If theitem is regularly stocked in the hub store, the process ends at block312 where the central order management system may assign the item to thehub store for fulfillment. If the item is not stocked in the hub store,the process ends at block 314 where the central order management systemassigns the item to the spoke store for fulfillment.

As a result of the above process, the fulfillment center may be selectedto fulfill approximately 60% to 95% of the items in the order, morespecifically approximately 70% to 90% of the order, or more specificallyapproximately 80% of the order. Items to be sourced from the fulfillmentcenter may include items that are common to all stores of the retailerand that do not require in-store preparation. For example, thefulfillment center may be selected for supplying toilet paper, milk,eggs, flour, etc.

The hub store may be selected to fulfill approximately 0% to 30% of theitems in the order, more specifically approximately 10% to 20% of theorder, and more specifically approximately 15% of the order. Items to besourced from the hub store may include any items that require human orindustrial (deli slicer, grinder) capital. For example, the hub storemay be selected for supplying fresh sliced deli meat, ground beef,bakery items, and others. The hub store may also be selected forsupplying any items that are not stocked at the fulfillment center andthat are not unique to the spoke store.

The spoke store may be selected to fulfill approximately 0% to 10% ofthe items in the order, more specifically approximately 2% to 7% of theorder, and more specifically approximately 5% of the order. Items to besourced by the spoke store may include any items that are unique to thespoke store (e.g., long tail items) and items that are not desirable orare unsafe to be transported between source locations (e.g., rotisseriechickens). The spoke store may also be selected to source items that aredetermined to be out of stock at the fulfillment center/hub store; suchitems may be referred to as “kick-outs.” The spoke store may also beselected to source items that can be obtained faster from the spokestore than from the hub store, so as to complete an order with a fastdelivery/pick-up timeline; such items may be referred to as “leakage.”

Turning back to FIG. 2 , at block 208, the order processing serversassociated with the different source locations (e.g., fulfillmentcenter, hub store, spoke store) may receive, retrieve, or access anorder record from the central order management system. The order recordthat can be accessed for each source location includes the list of itemsin the order portion specific to that location. The central ordermanagement system may monitor the entire order/process being fulfilledat the distributed source locations and provide updated order records tothe locations as needed, for example, in the event one or more items isunavailable at the preferred location. In some embodiments, all of theorder processing servers being used to fill the order may have access tothe entire order/process being monitored at the central order managementsystem. That is, the order processing servers may each be able to accessor view the continuously updated order records at all locations. Inother embodiments, only the order processing server associated with thespoke store may have access to the entire order/process being monitoredat the central order management system.

At block 210, one or more tasks associated with preparing the orderportion assigned to the fulfillment center may be generatedautomatically. The one or more tasks associated with preparing the orderportion at the fulfillment center may be generated automatically, forinstance, by one or more server systems associated with the fulfillmentprocess at a set period of time before the scheduled pick-up or deliverytime for the order. For instance, the one or more tasks may be generatedautomatically when the fulfillment center opens on the day during whichthe pick-up or delivery is scheduled to occur. One or more tasksassociated with preparing the order portion at the fulfillment centermay include tasks communicated to employees at the fulfillment center,control signals output to one or more pieces of automation equipment atthe fulfillment center used to move items, and others.

In certain embodiments, there may be one or more subcategories of itemsto be prepared to form the order portion at the fulfillment centerbased, at least in part, on common characteristics of products within aparticular type. For instance, in the grocery retailer context,fulfillment center items may be subdivided into items based, at least inpart, on one or more products characteristics (e.g., whether the itemsare frozen, produce, cold, dry, ambient, bulk), such that a first partof the order portion includes in-stock frozen items and a second part ofthe order portion include in-stock produce. Generating the one or moretasks associated with preparing the order portion at the fulfillmentcenter may include parsing or otherwise grouping at least some of theitems of the order portion into categories based, at least in part, onthe product characteristics. The items may be grouped or categorized,for instance, by referencing a UPC of each item with a database thatidentifies a product type or location associated with the item, and thengrouping or associating data structures associated with like-itemswithin the order portion.

In certain embodiments, the one or more tasks associated with preparingthe order portion at the fulfillment center may comprise tasksassociated with collecting and packaging in-stock items for the orderportion. For instance, one or more tasks may be generated for eachin-stock order portion and transmitted to employees viapersonnel-operated computing devices, e.g., handheld devices 122. Themultiple prepared parts of the order portion may be left at one or morestaging areas of the fulfillment center and/or the hub store.

In some embodiments, the one or more tasks associated with preparing theorder portion at the fulfillment center may comprise the use of one ormore carts. The carts may comprise shelves supporting a plurality ofbins in which items of the order portion may be placed. In someembodiments, the bins may be removable from the carts and/or movablewithin a cart. In certain embodiments, the bins may not be removable andmay comprise a portion of the cart. In certain embodiments, the use ofcarts may allow preparation of order portions at the fulfillment centerfor multiple different orders at the same time. For example, in certainembodiments, two or more bins may be used to hold order portions of atleast two different pick-up/delivery orders. Employees may use a cart tocollect items for the at least two orders and store them in theplurality of bins. In some embodiments, the one or more tasks maycomprise instructions to use a cart to prepare order portions for aplurality of pick-up/delivery orders.

In certain embodiments, the one or more carts may be mobile. Forexample, in certain embodiments, the one or more carts may comprisemobile means enabling the cart to be moved from one location to another.In certain embodiments, for example, the cart may comprise wheels,rollers, tracks, or similar components suitable to allow the cart to bemoved. In some embodiments, the carts may be motorized, manuallymoveable, or both. In some embodiments, carts may be automated. In someembodiments, a cart may comprise a personnel-operated computing device,e.g., a portable computing device. The personnel-operated computingdevice may, for example, comprise a portion of the cart or bepermanently or detachably attached to the cart.

In some embodiments, different parts of the order portion at thefulfillment center may be assigned to a cart based, at least in part, onthe item size, item type, or location in the fulfillment center. Forexample, in certain embodiments, dry items of the order portion may beassigned to a first cart and frozen items of the order portion may beassigned to a second cart. In certain embodiments, dry items of theorder portion may be assigned a first cart, frozen items of the orderportion may be assigned to a second cart, cold items of the orderportion may be assigned to a third cart, and bulk items of the orderportion may be assigned to a fourth cart. In certain embodiments,generating the one or more tasks may comprise determining the optimalassignment of items in one or more order portions being fulfilled at thefulfillment center to bins in one or more carts. Optimization maycomprise optimizing for space, efficiency, preparation time, or othersuitable factors. The optimal assignment of items, for example, maycomprise an assignment of items to bins that results in the least amountof bins used per order portion or the least amount of bins used per dry,frozen, cold, or bulk part of the order portion.

If any items within the order portion assigned to the fulfillment centerare not actually available or in stock at the fulfillment center, anotification (block 212) may be provided to the central order managementsystem. In some embodiments, the notification may be transmitted througha personnel-operated computing device, e.g., handheld device 122, to oneor more server systems associated with the fulfillment process 200. Inother embodiments, the notification may be automatically generated by aprocessing component on a piece of automation equipment in thefulfillment center upon the equipment not being able to located ordetect the presence of the desired item. Once the notification isreceived, the central order management system may reassign (e.g.,“kick-out”) the missing item(s) from the fulfillment center to the hubstore for fulfillment.

In some embodiments, the order may include a set of multiple units ofthe same item that were assigned to the fulfillment center for sourcing,and it may be determined at the time the first order portion is beingprepared that only an incomplete set of the multiple units can besourced from the fulfillment center. In some instances, this may be dueto there not being a desired number of units available at thefulfillment center. In other instances, this may be due to one or moreof the units being past their expiration date or damaged. In someembodiments, the notification (block 212) may be provided to the centralorder management system with the item and total number of unit(s) in theitem set. The central order management system may then reassign (e.g.,“kick-out”) the entire set of multiple units of the same item from thefulfillment center to the hub store for fulfillment.

In other embodiments, the incomplete set of available units of the itemwithin the fulfillment center may be sourced from the fulfillment centeras part of the first order. The notification (block 212) may be providedto the central order management system with the item and number ofunits(s) from the set that were unavailable. Once the notification isreceived, the central order management system may reassign (e.g.,“kick-out”) the missing one or more units of the set from thefulfillment center to the hub store for fulfillment. This approach maybe particularly useful when the unavailable unit(s) are unavailable dueto being past an expiration date, since the items in the set that areavailable may be similarly approaching an expiration date and it isdesirable to keep this inventory moving out of the fulfillment center.Upon completion of the one or more tasks associated with preparing theorder portion at the fulfillment center, a notification may be providedto one or more servers associated with the fulfillment process 200. Thenotification may be transmitted through a personnel-operated computingdevice, e.g., handheld device 122, to the one or more servers.

At block 214, one or more tasks associated with preparing the orderportion assigned to the hub store may be generated automatically. Theone or more tasks associated with preparing the order portion at the hubstore may be generated automatically, for instance, by one or moreserver systems associated with the fulfillment process at a set periodof time before the scheduled pick-up or delivery time for the order. Forinstance, the one or more tasks may be generated automatically when thehub store opens on the day during which the pick-up or delivery isscheduled to occur. One or more tasks associated with preparing theorder portion at the hub store may include tasks communicated toemployees at the hub store.

In certain embodiments, there may be one or more subcategories of itemsto be prepared to form the order portion at the hub store, based, atleast in part, on common characteristics of products within a particulartype. Generating the one or more tasks associated with preparing theorder portion at the hub store may include parsing or otherwise groupingat least some of the items of the order portion into categories based,at least in part, on the product characteristics. The items may begrouped or categorized, for instance, by referencing a UPC of each itemwith a database that identifies a product type or location associatedwith the item, and then grouping or associating data structuresassociated with like-items within the order portion.

In certain embodiments, the one or more tasks associated with preparingthe order portion at the hub store may comprise tasks associated withcollecting and packaging in-stock items for the order portion. Forinstance, one or more tasks may be generated for each in-stock orderportion and transmitted to employees via personnel-operated computingdevices, e.g., handheld devices 122.

The one or more tasks associated with preparing the order portion at thehub store may include tasks associated with making a product (such as abaked item), prepping a product (such as slicing deli meat), orcollecting and packaging one or more items that were shipped to the hubstore. The employees may receive the one or more tasks and proceed toprepare the order portion or parts of the order portion associated witheach task. The multiple prepared parts of the order portion may be leftat one or more staging areas of the fulfillment center and/or the hubstore.

As discussed above with reference to the fulfillment center, the one ormore tasks associated with preparing the order portion at the hub storemay comprise the use of one or more carts. The carts may compriseshelves supporting a plurality of bins in which items of the orderportion may be placed. In some embodiments, the one or more tasks maycomprise instructions to use a cart to prepare order portions for aplurality of pick-up/delivery orders. In certain embodiments, the one ormore carts may be mobile. In some embodiments, a cart may comprise apersonnel-operated computing device, e.g., a portable computing device.In some embodiments, different parts (e.g., dry, frozen, cold, and/orbulk items) of the order portion at the hub store may be assigned to acart based, at least in part, on the item size, item type, or locationin the hub store. In certain embodiments, generating the one or moretasks may comprise determining the optimal assignment of items in one ormore order portions being fulfilled at the hub store to bins in one ormore carts.

If any items within the order portion assigned to the hub store are notavailable or in stock at the hub store, a notification (block 216) maybe provided to the central order management system. The notification maybe transmitted through a personnel-operated computing device, e.g.,handheld device 122, to one or more server systems associated with thefulfillment process 200. In response to receiving this notification, thecentral order management system may reassign (e.g., “kick-out”) themissing item(s) from the hub store to the spoke store for fulfillment.

In some embodiments, the order may include a set of multiple units ofthe same item that were assigned to the hub store for sourcing, and itmay be discovered at the time the second order portion is being preparedthat only an incomplete set of the multiple units can be sourced fromthe hub store. In some instances, this may be due to there not being adesired number of units available at the hub store. In other instances,this may be due to one or more of the units being past their expirationdate or damaged. In some embodiments, the notification (block 216) maybe provided to the central order management system with the item andtotal number of unit(s) in the item set. The central order managementsystem may then reassign (e.g., “kick-out”) the entire set of multipleunits from the hub store to the spoke store for fulfillment.

In other embodiments, the incomplete set of available units of the itemwithin the hub store may be sourced from the hub store as part of thesecond order. The notification (block 216) may be provided to thecentral order management system with the item and number of unit(s) fromthe set that were unavailable. Once the notification is received, thecentral order management system may reassign (e.g., “kick-out”) themissing one or more units of the set from the hub store to the spokestore for fulfillment. This approach may be particularly useful when theunavailable unit(s) are unavailable due to being past an expirationdate, since the items in the set that are available may be similarlyapproaching an expiration date and it is desirable to keep thisinventory moving out of the hub store.

Upon completion of the one or more tasks associated with preparing theorder portion at the fulfillment center, a notification may be providedto one or more servers associated with the fulfillment process 200. Thenotification may be transmitted through a personnel-operated computingdevice, e.g., handheld device 122, to the one or more servers.

At block 218, in the embodiment shown, one or more tasks associated withcombining the order portion prepared at the fulfillment center with theorder portion prepared at the hub store may be generated. The one ormore tasks associated with combining these two order portions may begenerated automatically, for example, by one or more server systemsassociated with the fulfillment process at a set period of time beforethe scheduled pick-up or delivery time for the order. For instance, theone or more tasks may be generated automatically at a set number ofhours (e.g., 1, 2, or 3 hours) in advance of the scheduled pick-up ordelivery time. In other embodiments, the one or more tasks associatedwith combining the two order portions may be generated automaticallyupon receiving a notification that both order portions are assembled.That is, the one or more tasks associated with combining the two orderportions may be generated automatically upon receipt of notificationssent from both the fulfillment center and the hub store indicating thatthe tasks associated with generating the respective order portions havebeen completed.

In certain embodiments, the one or more tasks associated with combiningthe order portion prepared at the fulfillment center with the orderportion prepared at the hub store may comprise positioning the one ormore carts holding the prepared order portion from the fulfillmentcenter nearby the one or more carts holding the prepared order portionfrom the hub store. The carts containing these prepared portions (i.e.,fulfillment center portion and hub store portion) of the order may bepositioned at one or more staging areas (e.g., in the fulfillmentcenter) or at a specified loading location (e.g., curbside or loadingdock). The items making up the order portion from the fulfillment centermay be disposed on one or more carts, and the items making up the orderportion from the hub store may be disposed on one or more additionalcarts. These may be the same carts that were used in preparing the orderportions at the fulfillment center and the hub store, respectively. Thecarts may be positioned near each other so that they can loaded onto atransportation vehicle one after the other in a pre-determined loadingorder, since they are being transported to the same spoke store. Thecarts may be mobile, so that the carts can be easily loaded onto atransportation vehicle.

In other embodiments, the one or more tasks associated with combiningthe order portion prepared at the fulfillment center with the orderportion prepared at the hub store may comprise consolidating the orderportions into one or more carts for transportation to the spoke store.Specifically, items of the order portion prepared at the fulfillmentcenter may be removed from the one or more carts that were previouslyloaded at the fulfillment center and placed onto one or more carts thatare designated for transport to a particular spoke store. Items of theorder portion prepared at the hub store may be removed from the one ormore carts that were previously loaded at the hub store and placed ontothe same one or more carts that are designated for transport to thespoke store, along with the fulfillment center-sourced items. The one ormore new carts may be mobile, so that these new carts can be easilyloaded onto a transportation vehicle.

In some embodiments, one or more different parts (e.g., dry, frozen,cold, and/or bulk items) of the two order portions prepared at thefulfillment center and the hub store may be assigned to the same cartbased, at least in part, on the item size or item type. For example, incertain embodiments, dry items of the two order portions of the sameorder may be assigned to a first cart designated for transport to thespoke store and frozen items of the two order portions may be assignedto a second cart designated for transport to the spoke store. In certainembodiments, dry items of the two order portions may be assigned a firstcart, frozen items of the two order portions may be assigned to a secondcart, cold items of the order portion may be assigned to a third cart,and bulk items of the order portion may be assigned to a fourth cart;all four of these carts are designated for transport to the same spokestore.

When multiple orders placed via the fulfillment system are assigned thesame spoke store, the one or more tasks associated with combining theorder portions may include combining order portions sourced from thefulfillment center and the hub store for multiple orders onto the sameone or more carts designated for transport to the spoke store. Incertain embodiments, generating the one or more tasks may comprisedetermining the optimal assignment of items in one or more orders beingfulfilled at the fulfillment center/hub store to bins in the one or morecarts designated for transport to the spoke store. Optimization maycomprise optimizing for space, efficiency, preparation time, or othersuitable factors. The optimal assignment of items, for example, maycomprise an assignment of items to bins that results in the least amountof bins used per order portion or the least amount of bins used per dry,frozen, cold, or bulk part of the order portion. Optimization maycomprise ensuring that all items grouped from the fulfillment center andhub store onto a single cart are designated for transportation to thesame spoke store.

Upon completion of the one or more tasks associated with combining thetwo order portions, a notification may be provided to one or moreservers associated with the fulfillment process 200. The notificationmay be transmitted through a personnel-operated computing device, e.g.,handheld device 122, to the one or more servers. The notification may becommunicated via the one or more servers to the order processing serverof the spoke store to initiate the generation of one or more tasks atthe spoke store.

At block 220, in the embodiment shown, one or more tasks associated withloading the combined order portions onto a transportation vehicle may begenerated. The one or more tasks associated with loading the combinedorder portions onto a transportation vehicle may be generatedautomatically, for example, by one or more server systems associatedwith the fulfillment process at a set period of time before thescheduled pick-up or delivery time for the order. In other embodiments,the one or more tasks associated with loading the combined orderportions onto a transportation vehicle may be generated automaticallyupon receiving a notification that the order portions have beencombined, or that one or more carts containing combined order portionsfor multiple orders have been prepared for transportation.

The one or more tasks associated with loading the combined orderportions onto a transportation vehicle may include loading one or morecarts from a staging area onto a transportation vehicle with apre-determined loading order. The loading order may be determined viaone or more servers associated with the fulfillment process 200 based,at least in part, on cart-related data (e.g., designation for particularspoke store, type of items per cart, etc.), pick-up/delivery relateddata (e.g., pick-up time, pick-up location, delivery time, deliveryaddress, etc.), store-related data (e.g., addresses, etc.),traffic-related data, and the like. The pre-determined loading order mayfollow a last-order-in-is-first-order-out (“LIFO”) sequence based, atleast in part, on a transportation route determined for thetransportation vehicle. The transportation route may include an order inwhich the transportation vehicle stops at multiple spoke stores andremote delivery locations. The transportation route may be optimizedbased, at least in part, on traffic patterns and pick-up/delivery timeconstraints for multiple orders being serviced by the transportationvehicle. The central order management system may communicate (e.g., viaa network) with a personnel communication device within thetransportation vehicle, thereby providing the pre-determinedtransportation route to the transportation vehicle driver.

At block 222, one or more tasks associated with preparing the orderportion assigned to the spoke store may be generated automatically. Theone or more tasks associated with preparing the order portion at thespoke store may be generated automatically, for instance, by one or moreserver systems associated with the fulfillment process at a set periodof time before the scheduled pick-up or delivery time for the order. Forinstance, the one or more tasks may be generated automatically when thespoke store opens on the day during which the pick-up or delivery isscheduled to occur. In some embodiments, the one or more tasksassociated with preparing the order portion at the spoke store may begenerated automatically upon receipt of one or more notifications at theorder processing server of the spoke store that the fulfillment centerorder portion and hub store order portion have been prepared, combined,and/or loaded onto the transportation vehicle. One or more tasksassociated with preparing the order portion at the spoke store mayinclude tasks communicated to employees at the spoke store.

In certain embodiments, there may be one or more subcategories of itemsto be prepared to form the order portion at the hub store, based, atleast in part, on common characteristics of products within a particulartype. Generating the one or more tasks associated with preparing theorder portion at the spoke store may include parsing or otherwisegrouping at least some of the items of the order portion into categoriesbased, at least in part, on the product characteristics. The items maybe grouped or categorized, for instance, by referencing a UPC of eachitem with a database that identifies a product type or locationassociated with the item, and then grouping or associating datastructures associated with like-items within the order portion.

In certain embodiments, the one or more tasks associated with preparingthe order portion at the spoke store may comprise tasks associated withcollecting and packaging in-stock items for the order portion. Forinstance, one or more tasks may be generated for each in-stock orderportion and transmitted to employees via personnel-operated computingdevices, e.g., handheld devices 122.

The one or more tasks associated with preparing the order portion at thespoke store may include tasks associated with obtaining hot food items,prepared food items, and other similar items that are not safelytransportable between facilities. One or more prepared parts of theorder portion may be left at one or more appropriate staging areas ofthe spoke store.

As discussed above with reference to the fulfillment center/hub store,the one or more tasks associated with preparing the order portion at thespoke store may similarly comprise the use of one or more carts, with orwithout a plurality of bins.

If any items within the order portion assigned to the spoke store arenot available or in stock at the spoke store, the fulfillment system mayproceed according to the process illustrated in FIG. 4 . FIG. 4 is aflowchart illustrating an example process 400 of the present disclosurethat may be used to facilitate the substitution of unavailable itemsonce the items are unavailable from the spoke store. At block 402, avariation notification may be received that at least one item of anorder portion being source from the spoke store is unavailable. In someembodiments, the variation notification may be generated by apersonnel-operated computing device. At block 404, in response to thevariation notification, an order processing server may determine whetherthe item is substitutable. In certain embodiments, determining whetheran item is substitutable may comprise comparing the item UPC with a listof substitutable items available at the spoke store or looking up adatabase with information on whether that item is substitutable. If theitem is not substitutable (e.g., it is a unique item with no closeanalog), it may be removed from the order 406 so that the customer isnot charged for the item. If the item is substitutable, a proposedsubstitute item may be identified at block 408. Blocks 402-408 may berepeated for additional unavailable items in the order portion beingprepared at the spoke store. At block 410, a variation customernotification may be generated using the order processing serverassociated with the spoke store. In certain embodiments, the variationcustomer notification may comprise a list of the unavailable items andany proposed substitute items. For example, in certain embodiments, thevariation customer notification may be a text message and may comprise alink to the list of unavailable items. In some embodiments, thevariation customer notification may provide an option for the customerto respond to the proposed substitute items. For example, in certainembodiments, the variation customer notification may allow the customerto accept, decline, or search for a new substitute item in response to aproposed substitute item. At block 412, the variation customernotification is sent to a customer. The variation customer notificationand/or the customer's response may be sent via text message, e-mail,mobile application, or other communication.

In some embodiments, if the customer approves the item, it is added tothe spoke store order portion 414. In certain embodiments, if thecustomer declines the item, it is removed from the order 416. In someembodiments, the variation customer notification may allow the customerto select and/or search for a different substitute item. If the customerselects a different or new substitute item, it may be added to the orderportion 418. In some embodiments, a task may be generated to prepare thenew substitute item for pick-up/delivery 420.

Turning back to FIG. 2 , upon completion of the one or more tasksassociated with preparing the order portion at the fulfillment center, anotification may be provided to one or more servers associated with thefulfillment process 200. The notification may be transmitted through apersonnel-operated computing device, e.g., handheld device 122, to theone or more servers.

At block 224, one or more tasks associated with assembling a completeorder for pick-up or delivery at the spoke store may be generated. Theone or more tasks associated with assembling the complete order may begenerated automatically, for example, by one or more server systemsassociate with the spoke store upon notification that the transportationvehicle has arrived at the spoke store. Such a notification may begenerated upon detection of a GPS signal indicating the transportationvehicle has arrived at the spoke store. One or more tasks associatedwith assembling the complete order at the spoke store may include taskscommunicated to employees at the spoke store. The one or more tasksassociated with assembling a complete order for pick-up or delivery atthe spoke store may comprise consolidating the order portion prepared atthe spoke store with the previously combined fulfillment center/hubstore order portions. These order portions may be stored together incarts and/or bins as described at length above. The complete order mayin some instances be spread between carts designated for different typesof items (e.g., ambient temperature, frozen, cold, and/or bulk).

In embodiments where the order is a pick-up order to be picked up by thecustomer or a third party at the spoke store, the one or more tasksassociated with assembling the complete order may involve unloading theorder portions (fulfillment center/hub store sourced) from thetransportation vehicle and combining these order portions with the orderportion sourced from the spoke store. Unloading the order portions(fulfillment center/hub store sourced) from the transportation vehiclemay involve unloading one or more carts from the transportation vehicledesignated for the particular spoke store. The one or more cartsdesignated for the different spoke stores along the pre-determinedtransportation route may be easy to remove at the appropriate spokestore, due to the carts' initial placement on the transportation vehiclein a last-order-in-is-first-order-out (“LIFO”) configuration. After thecart(s) are unloaded and order portions from the fulfillment center/hubstore combined with the order portion at the spoke store, the completeorder may be left at one or more appropriate staging areas of the spokestore for pick-up. Empty carts and/or bins may be loaded onto thetransportation vehicle from the spoke store for transporting back to thefulfillment center/hub store.

Upon completion of the one or more tasks associated with assembling acomplete order for pick-up, a notification may be provided to one ormore servers associated with the fulfillment process 200. Thenotification may be transmitted through a personnel-operated computingdevice, e.g., handheld device 122, to the one or more servers. Thenotification may be communicated via the one or more servers to theorder processing server of the spoke store to initiate the generation ofone or more tasks at the spoke store. The process 200 may furtherinclude, in response to the notification, automatically generating oneor more tasks associated with moving one or more complete orders to apick-up location within the spoke store. The one or more tasks may beautomatically generated by one or more server systems associated withthe fulfillment process. As described above, the different parts of theorder may be tracked or otherwise identified within data structuresassociated with the pick-up order. In certain embodiments, one task maybe generated for each part of the pick-up order, and the task mayinclude instructions to move the associated and packaged portion of thepick-up order to a designated pick-up location within the spoke store.Once the complete order has been moved to the pick-up location withinthe spoke store, the employee responsible for the associated task mayconfirm that the task has been completed through an electronictransmission from a personnel-operated computing device to one or moreservers associated with the fulfillment process 200.

In embodiments where the order is a delivery order to be delivered to acustomer or third party at a delivery address remote from the store, theone or more tasks associated with assembling the complete order mayinvolve loading the order portion sourced from the spoke store onto thetransportation vehicle. The one or more tasks may include combining theorder portion from the spoke store with the previously loaded orderportions from the fulfillment center/hub store on the transportationvehicle. The complete order may be left on the transportation vehiclefor delivery to the customer in an order determined by thetransportation schedule. Upon completion of the one or more tasksassociated with assembling a complete order for delivery, a notificationmay be provided to one or more servers associated with the fulfillmentprocess 200.

In addition, one or more notifications may be provided to one or moreserver systems during transportation of various items to or frommultiple spoke stores in accordance with the pre-determinedtransportation route. The notification(s) may be transmitted through apersonnel-operated computing device, e.g., handheld device 122, to oneor more server systems associated with the fulfillment process 200. Oneor more notifications may signal completion of a stop/unloading of itemstransported to a final spoke store destination, for example, when theitems are part of an order designated for pick-up from the spoke store.One or more notifications may signal completion of a stop/loading ofitems from the spoke store onto the transportation vehicle, for example,when the items are part of an order designated for delivery to alocation remote from the retail stores. One or more notifications maysignal completion of a delivery stop/unloading of items transported to afinal delivery destination remote from the retail stores.

In an example implementation, a customer may submit an on-line ordercontaining a plurality of items, a phone number associated with theorder, and a pick-up time and pick-up facility for the order. The ordermay include one or more items that may include, but are not limited to,items in stock at a fulfillment center, items that must be made in aretail store, and items that are unique to a particular store location(e.g., a spoke store). The order may be received at a central ordermanagement system, as described above. Once received, the items of theorder may each be assigned a preferred source location including one ofa fulfillment center, a hub store associated with the fulfillmentcenter, and a spoke store remote from the fulfillment center/hub store.Upon determining the preferred source locations for each item in theorder, tasks are generated to facilitate preparation of order portionsat each of the fulfillment center, the hub store, and the spoke store.The prepared order portions from the fulfillment center and the hubstore are combined and transported to the spoke store, where thecomplete order is assembled for pick-up at the designated pick-up time.

FIG. 5 illustrates an example fulfillment center 500 that has beendivided into a plurality of sectors 502-508, each illustrated withshelves or other display features. The sectors 502-508 may comprisedifferent types of products. For instance, in a grocery retailercontext, sectors 502 and 504 may comprise boxed items, sector 506 maycomprise frozen items, and sector 508 may comprise fresh produce. Itemsthat are in stock may be categorized based, at least in part, on thesector in which they are located within the store. The items within thesame sector may be grouped together and form one part of the orderportion assigned to the fulfillment center.

When the fulfillment center 500 opens on a day during which it is usedto source an order portion, tasks associated with preparing one or moreparts of the order portion may be generated automatically. For instance,if the order portion included three frozen items and four items of freshproduce, two tasks for the order portion may be generated, one tocollect and package the frozen items, and one to collect and package theproduce. In certain embodiments, some or all of the sectors 502-508 mayhave designated staging areas 502 a-508 a in which the prepared andpackaged portions of the order may be left after they are prepared andpackaged. For instance, the staging area 506 a for sector 506, whichcontains the frozen items, may comprise a freezer dedicated to holdingpackaged portions of pick-up orders. Similarly, the staging area 508 afor sector 508, which contains produce, may comprise a refrigeratordedicated to holding packaged parts of the order portion. Other stagingareas may include shelves or other segregated areas where packaged partsof the order portion may be left.

The tasks for preparing and packaging the order portion may be receivedby one or more employees on handheld electronic devices. In certainembodiments, a task for a particular part of the order portion maycomprise a list of items included in that part of the order that must becollected and packaged.

In certain embodiments, at least some of the tasks for preparing andpackaging the order portion may be received via control signals sent toone or more pieces of automation equipment 510 located in thefulfillment center 500. This automation equipment 510 may include one ormore robotic pickers that are programmed to remove certain items fromone or more sectors 502-508 within the fulfillment center 500. Theautomation equipment 510 may include other types of components used tomove goods as well, such as conveyors, lifts, etc. The control signalsmay instruct the automation equipment to collect and/or package a listof items within the order portion. The fulfillment center may use acombination of automation equipment and employees directed by tasksoutput to handheld electronic devices to prepare the order portion. Forany given order portion being prepared at the fulfillment center 500,automation equipment 510 may collect approximately 30% to 70% of theitems in the order portion, more specifically approximately 40% toapproximately 60% of the order portion, or more specificallyapproximately 50% of the order portion.

At a desired time, tasks associated with moving the prepared parts ofthe order portion from their staging area to a particular loadinglocation in the fulfillment center may be automatically generated andtransmitted to employees. One loading location 512 is indicated in FIG.5 , but it should be appreciated that more than one loading locationwithin the fulfillment center 500 is possible.

One or more employees may receive the tasks through their electronicdevice, identify the correct part of the order portion from itsassociated staging area, and move the prepared portion of the order tothe loading location 512. The tasks may comprise moving the preparedparts of an order portion from one or more bins on one or more carts tothe loading location 512. In certain embodiments, one or more pieces ofautomation equipment 510 at the fulfillment center may receive the tasksvia control signals, identify the correct part of the order portion fromits associated staging area, and move the prepared portion of the orderto the loading location 512. Once at the loading location 512, the orderportion is ready to be loaded onto a transportation vehicle fortransportation to the spoke store. The order portion prepared at anadjacent hub store may be combined with the order portion prepared atthe fulfillment center 500 at any point during the process outlined withreference to FIG. 5 .

At certain times, the fulfillment process may have to operate on arelatively compressed timeline compared to normal order fulfillmentoperations. This may be the case, for example, when a customer places anorder with less than approximately 6 hours remaining before the selectedpick-up/delivery time. In such instances, the disclosed fulfillmentsystem may operate according to an alternate process where orderportions are only assigned to the fulfillment center and the spokestore, but not to the hub store. The central order management system mayassign each item within the fast turn-around order to a preferred sourcelocation according to the following set of rules. FIG. 6 provides anexample process 600 for assigning a preferred source location to anorder item in accordance with the present disclosure. The central ordermanagement system may perform this process for each item within an orderreceived from a customer. At block 602, the central order managementsystem may determine whether or not there is enough time from when theorder was placed to source items of the order from all three of thefulfillment center, the hub store, and the spoke store. This may involvedetermining whether the amount of time remaining is less than apredetermined threshold. If there is enough time available to source theorder from all three locations, the process transfers (block 604) to theprocess of FIG. 3 described above. If there is not enough time availableto source the order from all three locations, then at block 606 thecentral order management system queries an inventory database of thefulfillment center to determine whether the item is currently availableat the fulfillment center (608). If the item is unavailable from thefulfillment center, the process ends at block 610 where the centralorder management system assigns the item to the spoke store forfulfillment. This is a planned “leakage” of order items from what wouldotherwise be a hub store order portion to the spoke store order portionso as to save time in preparing the complete order.

By filling the order using only the spoke store in combination with thefulfillment center, the disclosed fulfillment system may be able to moreefficiently put together and deliver the order portions to a finaldestination (e.g., pick-up location or delivery location) since severalsteps are cut out of the process. These steps that are cut out includepreparing the order portion at the hub store and combining the hub storeitems with the fulfillment center items for transportation to the remotespoke store.

It should be noted that at some point the order throughput of thefulfillment system 100 of FIG. 1 may become too high for the fulfillmentcenter 106 and hub store 108 to continue servicing all of the spokestores 110 associated therewith. At such times, it may be desirable toconvert a nearby existing retail store (preferably one with a lowcustomer volume) into a second hub store 108 that sources both the“fulfillment center” order portions and “hub store” order portions fororders being prepared for a subset of the spoke stores 110. That way,the burden of high order volume is lifted from the original fulfillmentcenter 106/hub store 108 temporarily until the time at which a newfulfillment center 106 can be constructed within the region.

In still other disclosed embodiments, the fulfillment system of FIG. 1may not include a hub store at all, but may instead utilize just thefulfillment center 106 to source order portions for incoming orders togo out to the various spoke stores 110. This may be the caseparticularly where a fulfillment center has a very large footprint thatkeeps it from being placed next to a retail store. In such embodiments,the process of FIG. 2 may be utilized, without the steps ofassigning/gathering an order portion at a hub store and combining thisorder portion with the order portion sourced by the fulfillment center.

In addition to many advantages that would be appreciated by a person ofordinary skill in the art in view of this disclosure, the abovedescribed process may help facilitate efficient preparation of pick-upand/or delivery orders from a retailer while offering the customer awide variety of retail items to choose from when placing the order. Incertain embodiments, the methods and systems of the present disclosuremay allow customers to select long tail items unique to their localstore for purchase on-line with a fast pick-up or delivery turnaround.In some embodiments, the methods and systems of the present disclosuremay avoid the high cost of additional machinery and man-power at adedicated order fulfillment center by using already available equipmentand workers at the adjacent hub store to source certain products.

Therefore, the present invention is well adapted to attain the ends andadvantages mentioned as well as those that are inherent therein. Theparticular embodiments disclosed above are illustrative only, as thepresent invention may be modified and practiced in different butequivalent manners apparent to those skilled in the art having thebenefit of the teachings herein. Furthermore, no limitations areintended to the details of construction or design herein shown, otherthan as described in the claims below. It is therefore evident that theparticular illustrative embodiments disclosed above may be altered ormodified and all such variations are considered within the scope andspirit of the present invention. While compositions and methods aredescribed in terms of “comprising,” “containing,” or “including” variouscomponents or steps, the compositions and methods can also “consistessentially of” or “consist of” the various components and steps. Allnumbers and ranges disclosed above may vary by some amount. Whenever anumerical range with a lower limit and an upper limit is disclosed, anynumber and any included range falling within the range is specificallydisclosed. In particular, every range of values (of the form, “fromabout a to about b,” or, equivalently, “from approximately a to b,” or,equivalently, “from approximately a-b”) disclosed herein is to beunderstood to set forth every number and range encompassed within thebroader range of values. Also, the terms in the claims have their plain,ordinary meaning unless otherwise explicitly and clearly defined by thepatentee. Moreover, the indefinite articles “a” or “an,” as used in theclaims, are defined herein to mean one or more than one of the elementthat it introduces. If there is any conflict in the usages of a word orterm in this specification and one or more patent or other documentsthat may be incorporated herein by reference, the definitions that areconsistent with this specification should be adopted.

What is claimed is:
 1. A method comprising: receiving from a customerdevice, using a central order management system, data related to a firstorder of a plurality of retail items for pick-up or delivery, whereinthe data from the customer device is packaged in a first data structure;parsing, using the central order management system, the data packaged inthe first data structure into a second data structure by creating one ormore order records comprising a first set of customer-related data,store-related data associated with a retail store, and at least one ofthe plurality of retail items, wherein the second data structure issuitable for storage in an order database and the first data structureis not suitable for storage in the order database; storing, using thecentral order management system, the parsed data in the order database;selecting, using the central order management system, a preferred sourcelocation from which to source a retail item of the plurality of retailitems in the first order, the preferred source location being selectedfrom the group consisting of: a fulfillment center and the retail store,wherein the retail store is located remote from the fulfillment center,and wherein selecting the preferred source location for the first ordercomprises: determining, using the central order management system, anamount of time remaining until a delivery time or a pick-up timeassociated with the first order; determining, using the central ordermanagement system, a predetermined threshold based, at least in part, onthe amount of time needed to prepare and deliver the retail items fromthe fulfillment center to the retail store; selecting, using the centralorder management system, the preferred source location to be thefulfillment center in response to determining that the retail items areavailable at the fulfillment center; and selecting, using the centralorder management system, the preferred source location to be the retailstore in response to determining that the amount of time remaining untilthe delivery time or the pick-up time is less than the predeterminedthreshold; and if the fulfillment center is selected as the preferredsource location, preparing the first order at the fulfillment center andloading the first order onto a transportation vehicle for transportationto the retail store, wherein preparing the first order comprisesoutputting one or more control signals to automation equipment in thefulfillment center; and if the retail store is selected as the preferredsource location, preparing the first order at the retail store, whereinfor at least one retail item in the first order, the at least one retailitem in the first order is available at both the fulfillment center andthe retail store.
 2. The method of claim 1, wherein selecting apreferred source location further comprises: determining, using thecentral order management system, whether one or more retail items in thefirst order are undesirable or unsafe to transport between differentsource locations based, at least in part, on at least one of item size,item weight, or item temperature; and selecting, using the central ordermanagement system, the preferred source location to be the retail storein response to determining that the amount of time remaining until thedelivery time or the pick-up time is greater than the predeterminedthreshold or that it is undesirable or unsafe to transport one or moreretail items in the first order between the different source locations.3. The method of claim 1, further comprising assigning, using thecentral order management system, the retail store to the first orderfrom a list of available retail stores that are each located remote fromthe fulfillment center.
 4. The method of claim 3, wherein the assigningthe retail store comprises: accessing a customer database containing asecond set of customer-related data regarding a customer who is placingthe first order; and assigning, from the list of available retailstores, a previously assigned retail store for the customer according tothe second set of customer-related data to be the retail store for thefirst order.
 5. The method of claim 3, wherein the assigning the retailstore comprises enabling a customer placing the first order to selectthe retail store from the list of available retail stores at the time ofplacing the first order.
 6. The method of claim 3, further comprisingenabling a customer, in placing the first order, to select one or moreof the plurality of retail items for the first order from a list ofavailable retail items that are stocked in the retail store and are notstocked in any other ones of the available retail stores.
 7. The methodof claim 1, further comprising: providing a notification from one ormore processing servers to the central order management system inresponse to a retail item of the first portion of the first order beingunavailable at the fulfillment center; and in response to thenotification, using the central order management system to reassign thepreferred source location for the retail item of the first portion ofthe first order from the fulfillment center to the retail store.
 8. Themethod of claim 1, wherein the fulfillment center and the retail storehave overlapping retail item inventories, wherein the retail iteminventory of the retail store includes a subset of retail items that areavailable at the retail store and not at the fulfillment center.
 9. Themethod of claim 8, further comprising enabling a customer to select,using one or more computing devices, at least one retail item fromwithin the subset of retail items that are available at the retail storeand not at the fulfillment center when placing the first order.
 10. Asystem comprising: a fulfillment center; a retail store located remotefrom the fulfillment center; a central order management systemcomprising a first processor and a first memory device coupled to thefirst processor, the first memory device comprising instructionsexecutable by the first processor that, when executed, cause the firstprocessor of the central order management system to: receive, from acustomer device, data related to a first order of a plurality of retailitems for pick-up or delivery, wherein the data from the customer deviceis packaged in a first data structure; parse the data packaged in thefirst data structure into a second data structure by creating one ormore order records comprising a first set of customer-related data,store-related data associated with a retail store, and at least one ofthe plurality of retail items, wherein the second data structure issuitable for storage in an order database and the first data structureis not suitable for storage in the order database; store the parsed datain the order database; and select, using the central order managementsystem, a preferred source location from which to source a retail itemof the plurality of retail items in the first order, the preferredsource location being selected from the group consisting of: thefulfillment center and the retail store, wherein the instructionsfurther cause the first processor to select the preferred sourcelocation comprise instructions that, when executed, cause the firstprocessor to: determine an amount of time remaining until the deliverytime or pick-up time associated with the first order; determine apredetermined threshold based, at least in part, on an amount of timeneeded to prepare and deliver the retail items from the fulfillmentcenter to the retail store; select the preferred source location to bethe fulfillment center in response to determining that the retail itemsare available at the fulfillment center; and select the preferred sourcelocation to be the retail store in response to determining that theamount of time remaining until the delivery time or the pick-up time isless than the predetermined threshold; one or more order processingservers comprising a second processor and a second memory device coupledto the second processor, the second memory device comprisinginstructions executable by the second processor that, when executed,cause the second processor of the one or more order processing serversto generate one more tasks associated with: if the fulfillment center isselected as the preferred source location, preparing the first order atthe fulfillment center and loading the first order onto a transportationvehicle for transportation to the retail store; and if the retail storeis selected as the preferred source location, preparing the first orderat the retail store, wherein for at least one retail item in the firstorder, the at least one retail item in the first order is available atboth the fulfillment center and the retail store; and one or more piecesof automation equipment in the fulfillment center, wherein theexecutable instructions, when executed, further cause the secondprocessor of the one or more order processing servers to generate theone or more tasks associated with preparing the first portion of theorder by outputting one or more control signals for operating theautomation equipment.
 11. The system of claim 10, wherein the selectinga preferred source location further comprises: determining, using thecentral order management system, whether one or more retail items in thefirst order are undesirable or unsafe to transport between differentsource locations based, at least in part, on at least one of item size,item weight, or item temperature; and selecting, using the central ordermanagement system, the preferred source location to be the retail storein response to determining that the amount of time remaining until thedelivery time or the pick-up time is greater than the predeterminedthreshold or that it is undesirable or unsafe to transport one or moreretail items in the first order between the different source locations.12. The system of claim 10, further comprising assigning, using thecentral order management system, the retail store to the first orderfrom a list of available retail stores that are each located remote fromthe fulfillment center.
 13. The system of claim 12, wherein theassigning the retail store comprises: accessing a customer databasecontaining a second set of customer-related data regarding a customerwho is placing the first order; and assigning, from the list ofavailable retail stores, a previously assigned retail store for thecustomer according to the second set of customer-related data to be theretail store for the first order.
 14. The system of claim 12, whereinthe assigning the retail store comprises enabling a customer placing thefirst order to select the retail store from the list of available retailstores at the time of placing the first order.
 15. The system of claim12, further comprising enabling a customer, in placing the first order,to select one or more of the plurality of retail items for the firstorder from a list of available retail items that are stocked in theretail store and are not stocked in any other ones of the availableretail stores.
 16. The system of claim 10, further comprising: providinga notification from the one or more order processing servers to thecentral order management system in response to a retail item of thefirst portion of the first order being unavailable at the fulfillmentcenter; and in response to the notification, using the central ordermanagement system to reassign the preferred source location for theretail item of the first portion of the first order from the fulfillmentcenter to the retail store.
 17. The system of claim 10, wherein thefulfillment center and the retail store have overlapping retail iteminventories, wherein the retail item inventory of the retail storeincludes a subset of retail items that are available at the retail storeand not at the fulfillment center.
 18. A non-transitorycomputer-readable storage medium having instructions stored therein,which when executed by a computer cause the computer to performfunctions, including functions to: receive, from a customer device, datarelated to a first order of a plurality of retail items for pick-up ordelivery, wherein the data from the customer device is packaged in afirst data structure; parse the data packaged in the first datastructure into a second data structure by creating one or more orderrecords comprising customer-related data, store-related data associatedwith a retail store, and at least one of the plurality of retail items,wherein the second data structure is suitable for storage in an orderdatabase and the first data structure is not suitable for storage in theorder database; store the parsed data in the order database; select, apreferred source location from which to source a retail item of theplurality of retail items in the first order, the preferred sourcelocation being selected from the group consisting of: a fulfillmentcenter and the retail store, wherein the retail store is located remotefrom the fulfillment center, and wherein selecting the preferred sourcelocation for the first order comprises: determining, using the centralorder management system, an amount of time remaining until a deliverytime or a pick-up time associated with the first order; determining,using the central order management system, a predetermined thresholdbased, at least in part, on the amount of time needed to prepare anddeliver the retail items from the fulfillment center to the retailstore; selecting, using the central order management system, thepreferred source location to be the fulfillment center in response todetermining that the retail items are available at the fulfillmentcenter; and selecting, using the central order management system, thepreferred source location to be the retail store in response todetermining that the amount of time remaining until the delivery time orthe pick-up time is less than the predetermined threshold; and generateone or more tasks associated with: if the fulfillment center is selectedas the preferred source location, preparing the first order at thefulfillment center and loading the first portion of the first order ontoa transportation vehicle for transportation to the retail store, whereinpreparing the first order comprises outputting one or more controlsignals to automation equipment in the fulfillment center; and if theretail store is selected as the preferred source location, preparing thefirst order at the retail store, wherein for at least one retail item inthe first order, the at least one retail item in the first order isavailable at both the fulfillment center and the retail store.
 19. Thenon-transitory computer-readable storage medium of claim 18, wherein theselecting a preferred source location further comprises: determining,using the central order management system, whether one or more retailitems in the first order are undesirable or unsafe to transport betweendifferent source locations based, at least in part, on at least one ofitem size, item weight, or item temperature; and selecting, using thecentral order management system, the preferred source location to be theretail store in response to determining that the amount of timeremaining until the delivery time or the pick-up time is greater thanthe predetermined threshold or that it is undesirable or unsafe totransport one or more the retail items in the first order between thedifferent source locations.
 20. The non-transitory computer-readablestorage medium of claim 18, wherein the fulfillment center and theretail store have overlapping retail item inventories, wherein theretail item inventory of the retail store includes a subset of retailitems that are available at the retail store and not at the fulfillmentcenter.